#!/usr/bin/python3
# coding=utf-8

import numpy as np
import os

def logit(x):
    """Logit函数简化版：计算 ln(x/(1-x))，输入范围(0.001,0.999)"""
    x = np.clip(x, 0.001, 0.999)  # 宽松的数值安全边界
    return np.log(x) - np.log(1 - x)  # 拆分为两次log运算提高效率

def gen_golden_data_logit():
    # 配置参数
    dtype = np.float16
    input_shape = (8, 2048)
    
    # 生成输入数据（避开边界值）
    input_data = np.random.uniform(0.1, 0.9, input_shape).astype(dtype)
    
    # 计算Logit（快速近似）
    golden = logit(input_data).astype(dtype)
    
    # 保存文件
    os.makedirs("input", exist_ok=True)
    os.makedirs("output", exist_ok=True)
    input_data.tofile("input/input_x.bin")
    golden.tofile("output/golden.bin")

if __name__ == "__main__":
    gen_golden_data_logit()